﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GC2.Bussines.BMSeguridad;
using GC2.Entities.Seguridad;
using GC2.ExceptionHandler;

public partial class Seguridad_AdministracionUsuariosTab : GenericPage
{
    int sAccion = 0;
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            SetearCultura();
            SetearConexion();
            if (!this.IsPostBack)
            {
                Usuarios usuario = new Usuarios();
                sAccion = Convert.ToInt16(Session["Accion"]);
                if (sAccion == 2)
                {
                    Hidratar();
                }
                lblConf.Visible = false;
            }
        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    protected void btnCancelar_Click(object sender, EventArgs e)
    {
        try
        {
            Response.Redirect("~/Seguridad/Default.aspx", false);
        }
        catch (Exception ex) { ErrorUI(ex); }
    }
    protected void btnGuardar_Click(object sender, EventArgs e)
    {
        try
        {
            Deshidratar();
        }
        catch (Exception ex) { ErrorUI(ex); }
    }

    private void Hidratar()
    {
        try
        {
            Usuarios usuario = new Usuarios();
            usuario = (Usuarios)Session["Usuario"];
            txtApellido.Text = usuario.Apellido;
            txtNombre.Text = usuario.Nombres;
            txtLogin.Text = usuario.Login;
            txtPassword.Text = usuario.Password;
            txtFechaIng.Text = usuario.Fecha_Desde.ToShortDateString();
            txtEmail.Text = usuario.Correo_Electronico;
        }
        catch (Exception ex) { ErrorUI(ex); }
    }

    private void Deshidratar()
    {
        try
        {
            Usuarios usuario = new Usuarios();
            usuario = (Usuarios)Session["Usuario"];
            usuario.Apellido = txtApellido.Text;
            usuario.Nombres = txtNombre.Text;
            usuario.Login = txtLogin.Text;
            usuario.Correo_Electronico = txtEmail.Text;
            if (txtPassword.Text != "")
            {
                usuario.Password = txtPassword.Text;
            }
            if (txtPassword.Text == txtConf.Text)
            {
                lblConf.Visible = false;
                Guardar(usuario);
                lblAccion.Text = "Usuario Actualizado";
            }
            else
            {
                lblConf.Visible = true;
                lblAccion.Text = "Password y Confirmación no coinciden";
            }
            
        }
        catch (Exception ex) { ErrorUI(ex); }
    }

    private void Guardar(Usuarios usuario)
    {
        try
        {
            BMUsuarios bmUsuarios = new BMUsuarios(Connection);
            bmUsuarios.BMUsuarioUpdate(usuario);
        }
        catch (Exception ex) { ErrorUI(ex); }
    }
}
